A Convex Programming Approach for Exploiting Data and Functional Parallelism on Distributed Memory Multicomputers
نویسندگان
چکیده
Compilers have focussed on the exploitation of one of functional or data parallelism in the past. The PARADIGM compiler project at the University of Illinois is among the rst to incorporate techniques for simultaneous exploitation of both. The work in this paper describes the techniques used in the PARADIGM compiler and analyzes the optimality of these techniques. It is the rst of its kind to use realistic cost models and includes data transfer costs which all previous researchers have neglected. Preliminary results on the CM-5 show the e cacy of our methods and the signi cant advantages of using functional and data parallelism together for execution of real applications.
منابع مشابه
Compiling MATLAB Programs to ScaLAPACK: Exploiting Task and Data Parallelism
In this paper we suggest a new approach aimed at reducing the effort required to program distributed-memory multicomputers. The key idea in our approach is to automatically convert a program written in a library-based programming language (MATLAB) to a parallel program based on the ScaLAPACK parallel library. In the process of performing this conversion, we apply compiler optimizations that sim...
متن کاملA Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers
Distributed Memory Multicomputers (DMMs), such as the IBM SP-2, the Intel Paragon, and the Thinking Machines CM-5, offer significant advantages over shared memory multiprocessors in terms of cost and scalability. Unfortunately, the utilization of all the available computational power in these machines involves a tremendous programming effort on the part of users, which creates a need for sophis...
متن کاملExploiting Data Locality on Scalable
OpenMP ooers a high-level interface for parallel programming on scalable shared memory (SMP) architectures providing the user with simple work-sharing directives while relying on the compiler to generate parallel programs based on thread parallelism. However, the lack of language features for exploiting data locality often results in poor performance since the non-uniform memory access times on...
متن کاملComputing over Networks: An Illustrated Example
critical. For this reason we developed monitoring tools With the advances in high-speed networking, partitioning based on BEE [4], a monitoring kernel for distributed applications over a group of computer systems is environments that allows users to trace important events becoming an attractive way of exploiting parallelism. in their application efficiently. Programming general multicomputers i...
متن کاملThe Eden Coordination Model for Distributed Memory Systems
Eden is a concurrent declarative language that aims at both the programming of reactive systems and parallel algorithms on distributed memory systems. In this paper, we explain the computation and coordination model of Eden. We show how lazy evaluation in the computation language is fruitfully combined with the coordination language that is specifically designed for multicomputers and that aims...
متن کامل